/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       dialog_war_institute.h

	$Header: /game/dialog_war_institute.h $

	$NoKeywords: $

 ************************************************************************/

#ifndef DIALOG_WAR_INSTITUTE_H_INCLUDED
#define DIALOG_WAR_INSTITUTE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <vector>
#include "bitmap_group_ptr.h"
#include "game_window.h"

class t_army;
class t_button;
class t_creature_select_window;
class t_creature_stack;
class t_hero;
class t_player;
class t_single_use_object;
class t_text_window;

struct t_skill;

/*-------------------------------------------------------------------*\
** War institute dialog
\* ------------------------------------------------------------------*/
class t_dialog_war_institute : public t_window
{
public:
	t_dialog_war_institute( t_window* parent );

	void init_dialog( std::vector<t_hero*> const& heroes, 
					  std::vector<t_hero*> const& selectable_heroes,
                      t_single_use_object const& parent_object,
					  t_window* parent, t_army* army );

	std::vector<t_hero *>       get_selected_heroes();

protected:

	t_bitmap_group_ptr          m_bitmaps_ptr;
	t_button*                   m_buy_button;
	t_text_window*              m_cost_window_ptr;
	int						    m_current_cost;
	std::vector<t_hero*>        m_heroes;
	t_creature_select_window*   m_hero_selection_window;
	int						    m_player_funds;
	t_player *			        m_player_ptr;
    t_single_use_object const*  m_parent_object;
	std::vector<t_hero*>        m_selected_heroes;
	std::vector<t_skill>        m_upgraded_skills;

	void buy_clicked( t_button* button );
	void close_clicked( t_button* button );
    void selection_change( t_creature_select_window*, t_creature_stack* );
};

#endif // DIALOG_WAR_INSTITUTE_H_INCLUDED

